Google Cloud Spanner vs Amazon Aurora - Which database service is more efficient?
When it comes to choosing a database service, there are plenty of options available in the market. Two of the most commonly sought-after cloud database services are Google Cloud Spanner and Amazon Aurora. As both of them offer different features, it can be challenging to differentiate which one is the best fit for a particular use case.
In this blog post, we will compare the two services by analyzing multiple parameters and providing unbiased insights, including facts and numbers, to identify which one is more efficient.
Introduction to Google Cloud Spanner
Google Cloud Spanner is a globally distributed, horizontally scalable, and mega-scale relational database service that Google developed and manages across their data centers worldwide. It accelerates global transactions, consistent updates, and the storage of structured data, and guarantees high availability and uptime.
Introduction to Amazon Aurora
Amazon Aurora is a relational database engine that is built for the cloud, efficient, and cost-effective. It enables database clusters to run on Amazon's infrastructure and provides high-performance and availability, as well as support for popular database engines such as MySQL and PostgreSQL. It also includes features such as automated backups, automatic failover, and replication.
Feature comparison
In this section, we will compare the features offered by Google Cloud Spanner and Amazon Aurora to outline the advantages and limitations of both services.
Scaling
Both Google Cloud Spanner and Amazon Aurora allow for horizontal scaling to provision more infrastructure when required. However, Cloud Spanner is designed for scalability, whereas Aurora is built on top of traditional database infrastructure.
Availability
Google Cloud Spanner provides high availability and uptime. It provides an SLA of 99.999%, featuring built-in resiliency and globally consistent replication. Meanwhile, Amazon Aurora offers robust availability features such as automatic failover, replication, and backup.
Storage
Google Cloud Spanner supports structured data storage with automatic scaling and partitioning. Amazon Aurora also offers high-performance storage with automatic scaling and intelligent caching, and is compatible with MySQL and PostgreSQL.
Read/write performance
Google Cloud Spanner provides better latency and read-write performance in comparison to Amazon Aurora. It offers strong consistency and transactional support within a distributed environment, resulting in low latency and high throughput for mission-critical applications.
Performance comparison
To help decide which service is more efficient, we'll compare Google Cloud Spanner and Amazon Aurora based on the numbers the services have achieved.
Latency
According to Google's Cloud Spanner performance report, the typical 95th percentile of read and write latencies spanned from sub-10ms to 100ms worldwide.
On the other hand, Amazon claims in its performance report that the typical 95th percentile of read and write latencies for Aurora was within 4 milliseconds for both reads and writes, well within the 5-millisecond goal.
Throughput
Google Cloud Spanner offers distributed transactions with an ability to handle up to 2,000 distributed transactions per second per node, with numbers soon increasing to 20,000 transactions per second, based on Google's claims in a paper at the OSDI'16 conference.
Amazon Aurora generates up to 20,000 transactions/sec for small instances and up to 200,000 transactions/sec for larger instances, according to their official performance reports.
Conclusion
Both Google Cloud Spanner and Amazon Aurora have unique strengths and limitations when compared in terms of features and performance. However, if we consider the claims and numbers of latency and throughput mentioned by both vendors, it would probably be fair to say that, overall, Amazon Aurora has a slightly better performance over Cloud Spanner.
However, it's essential to note that our analysis is purely based on the numbers and facts provided by both vendors, and your choice of the product should depend on your specific business requirements, priorities, and available resources.